// pages/wxml/index.js

var hasClick = false; // 点击按钮的锁

Page({

  /**
   * 页面的初始数据
   */
  data: {
    time: (new Date()).toString(),
    test: 'hahahahah',
    w: 'w',
    W: 'W',
    var2: undefined,
    var3: null,
    var4: 'var4',
    a: 1, b: 2, c: 3,
    condition: true,
    length: 6,
    array: [{
      message: 'foo',
    }, {
      message: 'bar'
    }],
    objectArray: [
      { id: 5, unique: 'unique_5' },
      { id: 4, unique: 'unique_4' },
      { id: 3, unique: 'unique_3' },
      { id: 2, unique: 'unique_2' },
      { id: 1, unique: 'unique_1' },
      { id: 0, unique: 'unique_0' },
    ],
    numberArray: [1, 2, 3, 4],
    item: {
      index: 0,
      msg: 'this is a template',
      time: '2016-06-18'
    },
    loading: false
  },

  // 触发Post请求
  handlePostApi () {
    console.log('触发Post请求....')

    // 判断是否已经点击过
    if (hasClick) {
      return
    }

    // 设置点击过
    hasClick = true

    // 开启loading
    wx.showLoading()

    // 发送post请求
    wx.request({
      url: 'http://127.0.0.1:5000/add_list_form',
      method: 'POST',
      // header: { 'content-type': 'application/json' },
      header: { 'content-type': 'application/x-www-form-urlencoded' },
      data: {
        'id': 6,
        'name': 'test666'
      },
      success: function (res) {
        if (res.statusCode === 200) {
          console.log(res.data)// 服务器回包内容
        }
      },
      fail: function (res) {
        wx.showToast({ title: '系统错误' })
      },
      complete: function (res) {
        wx.hideLoading() // 关闭loading 状态
        hasClick = false // 请求结束，设置允许点击触发请求
      }

    })
  },

  // 触发Get请求
  handleGetApi () {
    console.log('触发Get请求....')

    wx.request({
      url: 'http://dev.myserver.com:5000/get_list',
      // success: function(res) {
      //   console.log(res)// 服务器回包信息
      // },
      success: (res) => {
        console.log(res)
      }
    })

  },

  // 触发Dialog
  handleDialog () {
    wx.showModal({
      title: '标题',
      content: '告知当前状态，信息和解决方法',
      confirmText: '主操作',
      cancelText: '次要操作',
      success: function (res) {
        if (res.confirm) {
          console.log('用户点击主操作')
        } else if (res.cancel) {
          console.log('用户点击次要操作')
        }
      }
    })
  },

  // 触发Toast
  handleToast () {
    wx.showToast({ // 显示Toast
      title: '已发送',
      icon: 'success',
      duration: 1500
    })

  },

  // 关闭Toast
  closeToast () {
    wx.hideToast() // 隐藏Toast
  },

  tap () {
    // 把按钮的loading状态显示出来
    this.setData({
      loading: true
    })

    // 接着做耗时的操作
  },

  /**
   * 方法
   * @param {*} event
   */
  tapName (event) {
    console.log(event)
  },

  handleTap (evt) {
    console.log(evt)
    // 当点击inner节点时
    // evt.target 是inner view组件
    // evt.currentTarget 是绑定了handleTap的outer view组件
    // evt.type == “tap”
    // evt.timeStamp == 1542
    // evt.detail == {x: 270, y: 63}
    // evt.touches == [{identifier: 0, pageX: 270, pageY: 63, clientX: 270, clientY: 63}]
    // evt.changedTouches == [{identifier: 0, pageX: 270, pageY: 63, clientX: 270, clientY: 63}]
  },

  // 演示事件冒泡
  handleTap1 (evt) {
    console.log('handleTap1........')
  },
  handleTap2 (evt) {
    console.log('handleTap2........')
  },
  handleTap3 (evt) {
    console.log('handleTap3........')
  },
  handleTap4 (evt) {
    console.log('handleTap4........')
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
    // 用户触发了下拉刷新操作
    console.log('用户触发了下拉刷新操作...........')
    // 拉取新数据重新渲染界面
    console.log('拉取新数据重新渲染界面............')
    // wx.stopPullDownRefresh() // 可以停止当前页面的下拉刷新。
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    // 当界面的下方距离页面底部距离小于100像素时触发回调
    console.log('当界面的下方距离页面底部距离小于100像素时触发回调....')
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})